<html><!-- Created using the cpp_pretty_printer from the dlib C++ library.  See http://dlib.net for updates. --><head><title>dlib C++ Library - matrix3.cpp</title></head><body bgcolor='white'><pre>
<font color='#009900'>// Copyright (C) 2006  Davis E. King (davis@dlib.net)
</font><font color='#009900'>// License: Boost Software License   See LICENSE.txt for the full license.
</font>

<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>dlib<font color='#5555FF'>/</font>matrix.h<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>sstream<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>string<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>cstdlib<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>ctime<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>vector<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> "<a style='text-decoration:none' href='../stl_checked.h.html'>../stl_checked.h</a>"
<font color='#0000FF'>#include</font> "<a style='text-decoration:none' href='../array.h.html'>../array.h</a>"
<font color='#0000FF'>#include</font> "<a style='text-decoration:none' href='../rand.h.html'>../rand.h</a>"

<font color='#0000FF'>#include</font> "<a style='text-decoration:none' href='tester.h.html'>tester.h</a>"
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>dlib<font color='#5555FF'>/</font>memory_manager_stateless.h<font color='#5555FF'>&gt;</font>
<font color='#0000FF'>#include</font> <font color='#5555FF'>&lt;</font>dlib<font color='#5555FF'>/</font>array2d.h<font color='#5555FF'>&gt;</font>

<font color='#0000FF'>namespace</font>  
<b>{</b>

    <font color='#0000FF'>using</font> <font color='#0000FF'>namespace</font> test;
    <font color='#0000FF'>using</font> <font color='#0000FF'>namespace</font> dlib;
    <font color='#0000FF'>using</font> <font color='#0000FF'>namespace</font> std;

    logger <b><a name='dlog'></a>dlog</b><font face='Lucida Console'>(</font>"<font color='#CC0000'>test.matrix3</font>"<font face='Lucida Console'>)</font>;


    <font color='#0000FF'>const</font> <font color='#0000FF'><u>double</u></font> eps_mul <font color='#5555FF'>=</font> <font color='#979000'>200</font>;

    <font color='#0000FF'>template</font> <font color='#5555FF'>&lt;</font><font color='#0000FF'>typename</font> T, <font color='#0000FF'>typename</font> U<font color='#5555FF'>&gt;</font>
    <font color='#0000FF'><u>void</u></font> <b><a name='check_equal'></a>check_equal</b> <font face='Lucida Console'>(</font>
        <font color='#0000FF'>const</font> T<font color='#5555FF'>&amp;</font> a,
        <font color='#0000FF'>const</font> U<font color='#5555FF'>&amp;</font> b
    <font face='Lucida Console'>)</font>
    <b>{</b>
        <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font>a.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font>a.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <font color='#0000FF'>typedef</font> <font color='#0000FF'>typename</font> T::type type;
        <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> r <font color='#5555FF'>=</font> <font color='#979000'>0</font>; r <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>r<font face='Lucida Console'>)</font>
        <b>{</b>
            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> c <font color='#5555FF'>=</font> <font color='#979000'>0</font>; c <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>c<font face='Lucida Console'>)</font>
            <b>{</b>
                type error <font color='#5555FF'>=</font> std::<font color='#BB00BB'>abs</font><font face='Lucida Console'>(</font><font color='#BB00BB'>a</font><font face='Lucida Console'>(</font>r,c<font face='Lucida Console'>)</font> <font color='#5555FF'>-</font> <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font>r,c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>DLIB_TEST_MSG</font><font face='Lucida Console'>(</font>error <font color='#5555FF'>&lt;</font> std::<font color='#BB00BB'>sqrt</font><font face='Lucida Console'>(</font>std::numeric_limits<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font>::<font color='#BB00BB'>epsilon</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>eps_mul, "<font color='#CC0000'>error: </font>" <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> error <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font>
                             "<font color='#CC0000'>    eps: </font>" <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> std::<font color='#BB00BB'>sqrt</font><font face='Lucida Console'>(</font>std::numeric_limits<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font>::<font color='#BB00BB'>epsilon</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>eps_mul<font face='Lucida Console'>)</font>;
            <b>}</b>
        <b>}</b>
    <b>}</b>

    <font color='#0000FF'>template</font> <font color='#5555FF'>&lt;</font><font color='#0000FF'>typename</font> T, <font color='#0000FF'>typename</font> U<font color='#5555FF'>&gt;</font>
    <font color='#0000FF'><u>void</u></font> <b><a name='c_check_equal'></a>c_check_equal</b> <font face='Lucida Console'>(</font>
        <font color='#0000FF'>const</font> T<font color='#5555FF'>&amp;</font> a,
        <font color='#0000FF'>const</font> U<font color='#5555FF'>&amp;</font> b
    <font face='Lucida Console'>)</font>
    <b>{</b>
        <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font>a.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font>a.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <font color='#0000FF'>typedef</font> <font color='#0000FF'>typename</font> T::type type;
        <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> r <font color='#5555FF'>=</font> <font color='#979000'>0</font>; r <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>r<font face='Lucida Console'>)</font>
        <b>{</b>
            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> c <font color='#5555FF'>=</font> <font color='#979000'>0</font>; c <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>c<font face='Lucida Console'>)</font>
            <b>{</b>
                <font color='#0000FF'>typename</font> type::value_type error <font color='#5555FF'>=</font> std::<font color='#BB00BB'>abs</font><font face='Lucida Console'>(</font><font color='#BB00BB'>a</font><font face='Lucida Console'>(</font>r,c<font face='Lucida Console'>)</font> <font color='#5555FF'>-</font> <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font>r,c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>DLIB_TEST_MSG</font><font face='Lucida Console'>(</font>error <font color='#5555FF'>&lt;</font> std::<font color='#BB00BB'>sqrt</font><font face='Lucida Console'>(</font>std::numeric_limits<font color='#5555FF'>&lt;</font><font color='#0000FF'>typename</font> type::value_type<font color='#5555FF'>&gt;</font>::<font color='#BB00BB'>epsilon</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>eps_mul, "<font color='#CC0000'>error: </font>" <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> error <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font>
                             "<font color='#CC0000'>    eps: </font>" <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> std::<font color='#BB00BB'>sqrt</font><font face='Lucida Console'>(</font>std::numeric_limits<font color='#5555FF'>&lt;</font><font color='#0000FF'>typename</font> type::value_type<font color='#5555FF'>&gt;</font>::<font color='#BB00BB'>epsilon</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>eps_mul<font face='Lucida Console'>)</font>;
            <b>}</b>
        <b>}</b>
    <b>}</b>

    <font color='#0000FF'>template</font> <font color='#5555FF'>&lt;</font><font color='#0000FF'>typename</font> T, <font color='#0000FF'>typename</font> U<font color='#5555FF'>&gt;</font>
    <font color='#0000FF'><u>void</u></font> <b><a name='assign_no_blas'></a>assign_no_blas</b> <font face='Lucida Console'>(</font>
        <font color='#0000FF'>const</font> T<font color='#5555FF'>&amp;</font> a_,
        <font color='#0000FF'>const</font> U<font color='#5555FF'>&amp;</font> b
    <font face='Lucida Console'>)</font>
    <b>{</b>
        T<font color='#5555FF'>&amp;</font> a <font color='#5555FF'>=</font> <font color='#0000FF'>const_cast</font><font color='#5555FF'>&lt;</font>T<font color='#5555FF'>&amp;</font><font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>a_<font face='Lucida Console'>)</font>;
        <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font>a.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font>a.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> r <font color='#5555FF'>=</font> <font color='#979000'>0</font>; r <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>r<font face='Lucida Console'>)</font>
        <b>{</b>
            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> c <font color='#5555FF'>=</font> <font color='#979000'>0</font>; c <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>c<font face='Lucida Console'>)</font>
            <b>{</b>
                <font color='#BB00BB'>a</font><font face='Lucida Console'>(</font>r,c<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font>r,c<font face='Lucida Console'>)</font>;
            <b>}</b>
        <b>}</b>
    <b>}</b>

    <font color='#0000FF'>template</font> <font color='#5555FF'>&lt;</font><font color='#0000FF'>typename</font> type<font color='#5555FF'>&gt;</font>
    type <b><a name='rnd_num'></a>rnd_num</b> <font face='Lucida Console'>(</font>dlib::rand<font color='#5555FF'>&amp;</font> rnd<font face='Lucida Console'>)</font>
    <b>{</b>
        <font color='#0000FF'>return</font> <font color='#0000FF'>static_cast</font><font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#979000'>10</font><font color='#5555FF'>*</font>rnd.<font color='#BB00BB'>get_random_double</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
    <b>}</b>

    <font color='#0000FF'>template</font> <font color='#5555FF'>&lt;</font><font color='#0000FF'>typename</font> type<font color='#5555FF'>&gt;</font>
    <font color='#0000FF'><u>void</u></font> <b><a name='test_blas'></a>test_blas</b><font face='Lucida Console'>(</font> <font color='#0000FF'><u>long</u></font> rows, <font color='#0000FF'><u>long</u></font> cols<font face='Lucida Console'>)</font>
    <b>{</b>
        <font color='#009900'>// The tests in this function exercise the BLAS bindings located in the matrix/matrix_blas_bindings.h file.
</font>        <font color='#009900'>// It does this by performing an assignment that is subject to BLAS bindings and comparing the
</font>        <font color='#009900'>// results directly to an unevaluated matrix_exp that should be equal.
</font>
        dlib::rand rnd;

        matrix<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font> <font color='#BB00BB'>a</font><font face='Lucida Console'>(</font>rows,cols<font face='Lucida Console'>)</font>, temp, temp2, temp3;

        <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>int</u></font> k <font color='#5555FF'>=</font> <font color='#979000'>0</font>; k <font color='#5555FF'>&lt;</font> <font color='#979000'>6</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>k<font face='Lucida Console'>)</font>
        <b>{</b>
            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> r<font color='#5555FF'>=</font> <font color='#979000'>0</font>; r <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>r<font face='Lucida Console'>)</font>
            <b>{</b>
                <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> c <font color='#5555FF'>=</font> <font color='#979000'>0</font>; c <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>c<font face='Lucida Console'>)</font>
                <b>{</b>
                    <font color='#BB00BB'>a</font><font face='Lucida Console'>(</font>r,c<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>;
                <b>}</b>
            <b>}</b>
            matrix<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font> at;
            at <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font>;

            matrix<font color='#5555FF'>&lt;</font>complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font> <font color='#5555FF'>&gt;</font> <font color='#BB00BB'>c_a</font><font face='Lucida Console'>(</font>rows,cols<font face='Lucida Console'>)</font>, c_at, c_sqr;
            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> r<font color='#5555FF'>=</font> <font color='#979000'>0</font>; r <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nr</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>r<font face='Lucida Console'>)</font>
            <b>{</b>
                <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> c <font color='#5555FF'>=</font> <font color='#979000'>0</font>; c <font color='#5555FF'>&lt;</font> a.<font color='#BB00BB'>nc</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>c<font face='Lucida Console'>)</font>
                <b>{</b>
                    <font color='#BB00BB'>c_a</font><font face='Lucida Console'>(</font>r,c<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>,rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <b>}</b>
            <b>}</b>
            c_at <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font>;
            <font color='#0000FF'>const</font> <font color='#0000FF'><u>int</u></font> size <font color='#5555FF'>=</font> <font color='#BB00BB'>max</font><font face='Lucida Console'>(</font>rows,cols<font face='Lucida Console'>)</font>;
            c_sqr <font color='#5555FF'>=</font> <font color='#979000'>10</font><font color='#5555FF'>*</font>matrix_cast<font color='#5555FF'>&lt;</font>complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font> <font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#BB00BB'>complex_matrix</font><font face='Lucida Console'>(</font><font color='#BB00BB'>randm</font><font face='Lucida Console'>(</font>size,size,rnd<font face='Lucida Console'>)</font>, <font color='#BB00BB'>randm</font><font face='Lucida Console'>(</font>size,size,rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;


            matrix<font color='#5555FF'>&lt;</font>complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font> <font color='#5555FF'>&gt;</font> <font color='#BB00BB'>c_temp</font><font face='Lucida Console'>(</font>cols,cols<font face='Lucida Console'>)</font>, <font color='#BB00BB'>c_temp2</font><font face='Lucida Console'>(</font>cols,cols<font face='Lucida Console'>)</font>;
            <font color='#0000FF'>const</font> complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font> <font color='#BB00BB'>i</font><font face='Lucida Console'>(</font><font color='#979000'>0</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>;

            <font color='#0000FF'>const</font> type one <font color='#5555FF'>=</font> <font color='#979000'>1</font>;
            <font color='#0000FF'>const</font> type two <font color='#5555FF'>=</font> <font color='#979000'>1</font>;
            <font color='#0000FF'>const</font> type num1 <font color='#5555FF'>=</font> <font color='#0000FF'>static_cast</font><font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#979000'>3.6</font><font face='Lucida Console'>)</font>;
            <font color='#0000FF'>const</font> type num2 <font color='#5555FF'>=</font> <font color='#0000FF'>static_cast</font><font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#979000'>6.6</font><font face='Lucida Console'>)</font>;
            <font color='#0000FF'>const</font> type num3 <font color='#5555FF'>=</font> <font color='#0000FF'>static_cast</font><font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#979000'>8.6</font><font face='Lucida Console'>)</font>;

            matrix<font color='#5555FF'>&lt;</font>complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font>,<font color='#979000'>0</font>,<font color='#979000'>1</font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>c_cv4</font><font face='Lucida Console'>(</font>cols<font face='Lucida Console'>)</font>, <font color='#BB00BB'>c_cv3</font><font face='Lucida Console'>(</font>rows<font face='Lucida Console'>)</font>;
            matrix<font color='#5555FF'>&lt;</font>complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font>,<font color='#979000'>1</font>,<font color='#979000'>0</font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>c_rv4</font><font face='Lucida Console'>(</font>cols<font face='Lucida Console'>)</font>, <font color='#BB00BB'>c_rv3</font><font face='Lucida Console'>(</font>rows<font face='Lucida Console'>)</font>;

            matrix<font color='#5555FF'>&lt;</font>type,<font color='#979000'>0</font>,<font color='#979000'>1</font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>cv4</font><font face='Lucida Console'>(</font>cols<font face='Lucida Console'>)</font>;

            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> idx <font color='#5555FF'>=</font> <font color='#979000'>0</font>; idx <font color='#5555FF'>&lt;</font> cv4.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>idx<font face='Lucida Console'>)</font>
                <font color='#BB00BB'>cv4</font><font face='Lucida Console'>(</font>idx<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>;

            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> idx <font color='#5555FF'>=</font> <font color='#979000'>0</font>; idx <font color='#5555FF'>&lt;</font> c_cv4.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>idx<font face='Lucida Console'>)</font>
                <font color='#BB00BB'>c_cv4</font><font face='Lucida Console'>(</font>idx<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>,rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            matrix<font color='#5555FF'>&lt;</font>type,<font color='#979000'>1</font>,<font color='#979000'>0</font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>rv3</font><font face='Lucida Console'>(</font>rows<font face='Lucida Console'>)</font>;

            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> idx <font color='#5555FF'>=</font> <font color='#979000'>0</font>; idx <font color='#5555FF'>&lt;</font> rv3.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>idx<font face='Lucida Console'>)</font>
                <font color='#BB00BB'>rv3</font><font face='Lucida Console'>(</font>idx<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>;

            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> idx <font color='#5555FF'>=</font> <font color='#979000'>0</font>; idx <font color='#5555FF'>&lt;</font> c_rv3.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>idx<font face='Lucida Console'>)</font>
                <font color='#BB00BB'>c_rv3</font><font face='Lucida Console'>(</font>idx<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>,rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            matrix<font color='#5555FF'>&lt;</font>type,<font color='#979000'>0</font>,<font color='#979000'>1</font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>cv3</font><font face='Lucida Console'>(</font>rows<font face='Lucida Console'>)</font>;

            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> idx <font color='#5555FF'>=</font> <font color='#979000'>0</font>; idx <font color='#5555FF'>&lt;</font> cv3.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>idx<font face='Lucida Console'>)</font>
                <font color='#BB00BB'>cv3</font><font face='Lucida Console'>(</font>idx<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>;

            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> idx <font color='#5555FF'>=</font> <font color='#979000'>0</font>; idx <font color='#5555FF'>&lt;</font> c_cv3.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>idx<font face='Lucida Console'>)</font>
                <font color='#BB00BB'>c_cv3</font><font face='Lucida Console'>(</font>idx<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>,rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            matrix<font color='#5555FF'>&lt;</font>type,<font color='#979000'>1</font>,<font color='#979000'>0</font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>rv4</font><font face='Lucida Console'>(</font>cols<font face='Lucida Console'>)</font>;
            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> idx <font color='#5555FF'>=</font> <font color='#979000'>0</font>; idx <font color='#5555FF'>&lt;</font> rv4.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>idx<font face='Lucida Console'>)</font>
                <font color='#BB00BB'>rv4</font><font face='Lucida Console'>(</font>idx<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>;

            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> idx <font color='#5555FF'>=</font> <font color='#979000'>0</font>; idx <font color='#5555FF'>&lt;</font> c_rv4.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>idx<font face='Lucida Console'>)</font>
                <font color='#BB00BB'>c_rv4</font><font face='Lucida Console'>(</font>idx<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>,rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;



            <font color='#009900'>// GEMM tests
</font>            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.1</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>,   at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#979000'>2.4</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#979000'>4</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> at<font color='#5555FF'>*</font><font color='#979000'>3</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#979000'>2.4</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#979000'>4</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> at<font color='#5555FF'>*</font><font color='#979000'>3</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.2</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.3</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   at<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.4</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.5</font>";

            <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_a<font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_a<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.5.1</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.5.2</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.5.3</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.6</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>c_at<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   c_at<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.6.1</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_at<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_at<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.6.2</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.6.2.1</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.6.3</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_sqr<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.7</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.8</font>";

            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> ,  a<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>at,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> ,  a<font color='#5555FF'>*</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>at,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font>,<font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font>,<font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.9</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> ,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.10</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>at,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> ,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>at,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.11</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font>,<font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font>,<font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.12</font>";

            <b>{</b>
                temp <font color='#5555FF'>=</font> at<font color='#5555FF'>*</font>a;
                temp2 <font color='#5555FF'>=</font> temp;

                temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#979000'>3.5</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp2, temp2 <font color='#5555FF'>+</font> <font color='#979000'>3.5</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;

                temp <font color='#5555FF'>-</font><font color='#5555FF'>=</font> at<font color='#5555FF'>*</font><font color='#979000'>3.5</font><font color='#5555FF'>*</font>a;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp2, temp2 <font color='#5555FF'>-</font> at<font color='#5555FF'>*</font><font color='#979000'>3.5</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;

                temp <font color='#5555FF'>=</font> temp <font color='#5555FF'>+</font> <font color='#979000'>4</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp2, temp2 <font color='#5555FF'>+</font> <font color='#979000'>4</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;

                temp <font color='#5555FF'>=</font> temp <font color='#5555FF'>-</font> <font color='#979000'>2.4</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp2, temp2 <font color='#5555FF'>-</font> <font color='#979000'>2.4</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;
            <b>}</b>
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.13</font>";
            <b>{</b>
                temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
                temp2 <font color='#5555FF'>=</font> temp;
                temp3 <font color='#5555FF'>=</font> temp;

                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.14</font>";
                temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#979000'>3.5</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp2, temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#979000'>3.5</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;

                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.15</font>";
                temp <font color='#5555FF'>-</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font><font color='#979000'>3.5</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp2, temp2 <font color='#5555FF'>-</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font color='#5555FF'>*</font><font color='#979000'>3.5</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;

                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.16</font>";
                temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>temp <font color='#5555FF'>+</font> <font color='#979000'>4</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp3, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>temp2 <font color='#5555FF'>+</font> <font color='#979000'>4</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp3<font face='Lucida Console'>)</font>;

                temp2 <font color='#5555FF'>=</font> temp;
                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.17</font>";
                temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>temp <font color='#5555FF'>-</font> <font color='#979000'>2.4</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp3, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>temp2 <font color='#5555FF'>-</font> <font color='#979000'>2.4</font><font color='#5555FF'>*</font>at<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp3<font face='Lucida Console'>)</font>;
            <b>}</b>

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.17.1</font>";
            <b>{</b>
                matrix<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font> m1, m2;

                m1 <font color='#5555FF'>=</font> matrix_cast<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#BB00BB'>randm</font><font face='Lucida Console'>(</font>rows, cols, rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                m2 <font color='#5555FF'>=</font> matrix_cast<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#BB00BB'>randm</font><font face='Lucida Console'>(</font>cols, rows <font color='#5555FF'>+</font> <font color='#979000'>8</font>, rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>m1<font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font>, m1<font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

                m1 <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

                m2 <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m2<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

                m1 <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>m1<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, m1<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m1<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>m2<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <b>}</b>

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.17.5</font>";
            <b>{</b>
                matrix<font color='#5555FF'>&lt;</font>type,<font color='#979000'>1</font>,<font color='#979000'>0</font><font color='#5555FF'>&gt;</font> r;
                matrix<font color='#5555FF'>&lt;</font>type,<font color='#979000'>0</font>,<font color='#979000'>1</font><font color='#5555FF'>&gt;</font> c;

                r <font color='#5555FF'>=</font> matrix_cast<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#BB00BB'>randm</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>, rows<font color='#5555FF'>+</font><font color='#979000'>9</font>, rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                c <font color='#5555FF'>=</font> matrix_cast<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#BB00BB'>randm</font><font face='Lucida Console'>(</font>rows, <font color='#979000'>1</font>, rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>c<font color='#5555FF'>*</font>r<font face='Lucida Console'>)</font>, c<font color='#5555FF'>*</font>r<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c<font color='#5555FF'>*</font>r<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c<font color='#5555FF'>*</font>r<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>r<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>r<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>r<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>r<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <b>}</b>

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>1.18</font>";

            <font color='#009900'>// GEMV tests
</font>            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>,  a<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>rv3<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>,  rv3<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  a<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>cv3<font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>cv3<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  rv4<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv3<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv3<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv3<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv3<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv3<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv3<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;


            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_cv3<font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_cv3<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>c_rv4<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  c_rv4<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv3<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv3<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv3<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv3<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>c_rv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  c_rv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>2.00</font>";

            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_cv3<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,           <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_cv3<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,           <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv3<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,   <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv3<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>2.20</font>";
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv3<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,    <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv3<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,                 <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,          <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;



            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>6</font>";
            temp <font color='#5555FF'>=</font> a<font color='#5555FF'>*</font>at;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;
            temp <font color='#5555FF'>=</font> temp <font color='#5555FF'>+</font> a<font color='#5555FF'>*</font>at <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>at <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>sin</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, a<font color='#5555FF'>*</font>at <font color='#5555FF'>+</font> a<font color='#5555FF'>*</font>at<font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>at <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>sin</font><font face='Lucida Console'>(</font>at<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>6.1</font>";
            temp <font color='#5555FF'>=</font> a<font color='#5555FF'>*</font>at;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;
            temp <font color='#5555FF'>=</font> a<font color='#5555FF'>*</font>at <font color='#5555FF'>+</font> temp;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, a<font color='#5555FF'>*</font>at <font color='#5555FF'>+</font> a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>6.2</font>";
            temp <font color='#5555FF'>=</font> a<font color='#5555FF'>*</font>at;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>6.2.3</font>";
            temp <font color='#5555FF'>=</font> temp <font color='#5555FF'>-</font> a<font color='#5555FF'>*</font>at;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>6.2.4</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, a<font color='#5555FF'>*</font>at<font color='#5555FF'>-</font>a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>6.3</font>";
            temp <font color='#5555FF'>=</font> a<font color='#5555FF'>*</font>at;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>6.3.5</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>6.3.6</font>";
            temp <font color='#5555FF'>=</font> a<font color='#5555FF'>*</font>at <font color='#5555FF'>-</font> temp;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>6.4</font>";
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, a<font color='#5555FF'>*</font>at<font color='#5555FF'>-</font>a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;



            <font color='#0000FF'>const</font> <font color='#0000FF'><u>long</u></font> d <font color='#5555FF'>=</font> <font color='#BB00BB'>min</font><font face='Lucida Console'>(</font>rows,cols<font face='Lucida Console'>)</font>;
            rectangle <font color='#BB00BB'>rect</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>,<font color='#979000'>1</font>,d,d<font face='Lucida Console'>)</font>;
            temp.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#BB00BB'>max</font><font face='Lucida Console'>(</font>rows,cols<font face='Lucida Console'>)</font><font color='#5555FF'>+</font><font color='#979000'>4</font>,<font color='#BB00BB'>max</font><font face='Lucida Console'>(</font>rows,cols<font face='Lucida Console'>)</font><font color='#5555FF'>+</font><font color='#979000'>4</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>set_all_elements</font><font face='Lucida Console'>(</font>temp,<font color='#979000'>4</font><font face='Lucida Console'>)</font>;
            temp2 <font color='#5555FF'>=</font> temp;

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>7</font>";
            <font color='#BB00BB'>set_subm</font><font face='Lucida Console'>(</font>temp,rect<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> a<font color='#5555FF'>*</font>at;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>set_subm</font><font face='Lucida Console'>(</font>temp2,rect<font face='Lucida Console'>)</font> , a<font color='#5555FF'>*</font>at<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;

            temp <font color='#5555FF'>=</font> a;
            temp2 <font color='#5555FF'>=</font> a;

            <font color='#BB00BB'>set_colm</font><font face='Lucida Console'>(</font>temp,<font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> a<font color='#5555FF'>*</font>cv4;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>set_colm</font><font face='Lucida Console'>(</font>temp2,<font color='#979000'>1</font><font face='Lucida Console'>)</font> , a<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>set_rowm</font><font face='Lucida Console'>(</font>temp,<font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> rv3<font color='#5555FF'>*</font>a;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>set_rowm</font><font face='Lucida Console'>(</font>temp2,<font color='#979000'>1</font><font face='Lucida Console'>)</font> , rv3<font color='#5555FF'>*</font>a<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;


            <font color='#009900'>// Test BLAS GER
</font>            <b>{</b>
                temp.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font>cols,cols<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>set_all_elements</font><font face='Lucida Console'>(</font>temp,<font color='#979000'>3</font><font face='Lucida Console'>)</font>;
                temp2 <font color='#5555FF'>=</font> temp;


                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>8</font>";
                temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> cv4<font color='#5555FF'>*</font>rv4;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp2, temp2 <font color='#5555FF'>+</font> cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;

                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>8.3</font>";
                temp <font color='#5555FF'>=</font> temp <font color='#5555FF'>+</font> cv4<font color='#5555FF'>*</font>rv4;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp2, temp2 <font color='#5555FF'>+</font> cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp2<font face='Lucida Console'>)</font>;
                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>8.9</font>";
            <b>}</b>
            <b>{</b>
                temp.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font>cols,cols<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>set_all_elements</font><font face='Lucida Console'>(</font>temp,<font color='#979000'>3</font><font face='Lucida Console'>)</font>;
                temp2 <font color='#5555FF'>=</font> temp;
                temp3 <font color='#5555FF'>=</font> <font color='#979000'>0</font>;

                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>8.10</font>";

                temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp3, temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp3<font face='Lucida Console'>)</font>;
                temp3 <font color='#5555FF'>=</font> <font color='#979000'>0</font>;

                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>8.11</font>";
                temp2 <font color='#5555FF'>=</font> temp;
                temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>temp <font color='#5555FF'>+</font> cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp3, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>temp2 <font color='#5555FF'>+</font> cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font>temp, temp3<font face='Lucida Console'>)</font>;
                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>8.12</font>";
            <b>}</b>
            <b>{</b>
                matrix<font color='#5555FF'>&lt;</font>complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font> <font color='#5555FF'>&gt;</font> temp, temp2, temp3;
                matrix<font color='#5555FF'>&lt;</font>complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font>,<font color='#979000'>0</font>,<font color='#979000'>1</font> <font color='#5555FF'>&gt;</font> cv4;
                matrix<font color='#5555FF'>&lt;</font>complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font>,<font color='#979000'>1</font>,<font color='#979000'>0</font> <font color='#5555FF'>&gt;</font> rv4;
                cv4.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font>cols<font face='Lucida Console'>)</font>;
                rv4.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font>cols<font face='Lucida Console'>)</font>;
                temp.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font>cols,cols<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>set_all_elements</font><font face='Lucida Console'>(</font>temp,complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>5</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>temp</font><font face='Lucida Console'>(</font>cols<font color='#5555FF'>-</font><font color='#979000'>1</font>, cols<font color='#5555FF'>-</font><font color='#979000'>4</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#979000'>9</font>;
                temp2 <font color='#5555FF'>=</font> temp;
                temp3.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font>cols,cols<font face='Lucida Console'>)</font>;
                temp3 <font color='#5555FF'>=</font> <font color='#979000'>0</font>;

                <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>long</u></font> i <font color='#5555FF'>=</font> <font color='#979000'>0</font>; i <font color='#5555FF'>&lt;</font> rv4.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>i<font face='Lucida Console'>)</font>
                <b>{</b>
                    <font color='#BB00BB'>rv4</font><font face='Lucida Console'>(</font>i<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>,rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                    <font color='#BB00BB'>cv4</font><font face='Lucida Console'>(</font>i<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font>,rnd_num<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>rnd<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <b>}</b>

                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>8.13</font>";

                temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp3, temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>temp, temp3<font face='Lucida Console'>)</font>;
                temp3 <font color='#5555FF'>=</font> <font color='#979000'>0</font>;

                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>8.14</font>";
                temp2 <font color='#5555FF'>=</font> temp;
                temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>temp <font color='#5555FF'>+</font> cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>temp3, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>temp2 <font color='#5555FF'>+</font> cv4<font color='#5555FF'>*</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
                <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>temp, temp3<font face='Lucida Console'>)</font>;
                dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>8.15</font>";
            <b>}</b>




            <font color='#BB00BB'>set_all_elements</font><font face='Lucida Console'>(</font>c_temp, one <font color='#5555FF'>+</font> num1<font color='#5555FF'>*</font>i<font face='Lucida Console'>)</font>;
            c_temp2 <font color='#5555FF'>=</font> c_temp;
            <font color='#BB00BB'>set_all_elements</font><font face='Lucida Console'>(</font>c_rv4, one <font color='#5555FF'>+</font> num2<font color='#5555FF'>*</font>i<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>set_all_elements</font><font face='Lucida Console'>(</font>c_cv4, two <font color='#5555FF'>+</font> num3<font color='#5555FF'>*</font>i<font face='Lucida Console'>)</font>;


            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>9</font>";
            c_temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> c_cv4<font color='#5555FF'>*</font>c_rv4;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> c_cv4<font color='#5555FF'>*</font>c_rv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>9.1</font>";
            c_temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> c_cv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> c_cv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>9.2</font>";
            c_temp <font color='#5555FF'>=</font> c_cv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> c_temp;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> c_cv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>9.3</font>";
            c_temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> c_temp;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;


            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>9.4</font>";
            c_temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_rv4;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_rv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>9.5</font>";
            c_temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>9.6</font>";
            c_temp <font color='#5555FF'>=</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> c_temp;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>9.7</font>";
            c_temp <font color='#5555FF'>=</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> c_temp;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;


            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>10</font>";
            c_temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font color='#5555FF'>*</font>c_rv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font color='#5555FF'>*</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>10.1</font>";
            c_temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>10.2</font>";
            c_temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> c_temp;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>10.3</font>";
            c_temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> c_temp;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;


            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>10.4</font>";
            c_temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_rv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>10.5</font>";
            c_temp <font color='#5555FF'>+</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>10.6</font>";
            c_temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> c_temp;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>10.7</font>";
            c_temp <font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> c_temp;
            <font color='#BB00BB'>assign_no_blas</font><font face='Lucida Console'>(</font>c_temp2, c_temp2 <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font>c_temp, c_temp2<font face='Lucida Console'>)</font>;

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>10.8</font>";


            <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;

            <font color='#009900'>// Test DOT
</font>            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>, rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>, rv4<font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font color='#5555FF'>*</font><font color='#979000'>3.9</font><font face='Lucida Console'>)</font>, rv4<font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#979000'>3.9</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;


            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,                    <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,             <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,      <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,                <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font color='#5555FF'>*</font><font color='#979000'>3.9</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,                <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#979000'>3.9</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>,  <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#979000'>3.9</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;


            temp.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>;
            temp <font color='#5555FF'>=</font> <font color='#979000'>4</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>temp <font color='#5555FF'>+</font> rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>, temp <font color='#5555FF'>+</font> rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>temp <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, temp <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>cv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>11</font>";



            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_cv4<font face='Lucida Console'>)</font>, <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_cv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>i<font color='#5555FF'>*</font>c_cv4<font face='Lucida Console'>)</font>, <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>i<font color='#5555FF'>*</font>c_cv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>i<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>i<font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            c_temp.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>;
            c_temp <font color='#5555FF'>=</font> <font color='#979000'>4</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>c_temp <font color='#5555FF'>+</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_cv4<font face='Lucida Console'>)</font>, c_temp <font color='#5555FF'>+</font> <font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font color='#5555FF'>*</font>c_cv4<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c_check_equal</font><font face='Lucida Console'>(</font> <font color='#BB00BB'>tmp</font><font face='Lucida Console'>(</font>c_temp <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>, c_temp <font color='#5555FF'>+</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>conj</font><font face='Lucida Console'>(</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c_rv4<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>abs</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font><font color='#0000FF'>static_cast</font><font color='#5555FF'>&lt;</font>complex<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font> <font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>c_rv4<font color='#5555FF'>*</font>c_cv4<font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> i<font face='Lucida Console'>)</font> <font color='#5555FF'>-</font> <font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>c_rv4<font color='#5555FF'>*</font>c_cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>(</font><font color='#979000'>0</font><font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> i<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>&lt;</font> std::<font color='#BB00BB'>sqrt</font><font face='Lucida Console'>(</font>std::numeric_limits<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font>::<font color='#BB00BB'>epsilon</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>eps_mul <font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>max</font><font face='Lucida Console'>(</font><font color='#BB00BB'>abs</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4 <font color='#5555FF'>+</font> <font color='#979000'>1.0</font><font face='Lucida Console'>)</font> <font color='#5555FF'>-</font> <font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>rv4<font color='#5555FF'>*</font>cv4<font face='Lucida Console'>)</font><font face='Lucida Console'>(</font><font color='#979000'>0</font><font face='Lucida Console'>)</font> <font color='#5555FF'>+</font> <font color='#979000'>1.0</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>&lt;</font> std::<font color='#BB00BB'>sqrt</font><font face='Lucida Console'>(</font>std::numeric_limits<font color='#5555FF'>&lt;</font>type<font color='#5555FF'>&gt;</font>::<font color='#BB00BB'>epsilon</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font color='#5555FF'>*</font>eps_mul<font face='Lucida Console'>)</font>;

        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>m</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>m2</font><font face='Lucida Console'>(</font><font color='#979000'>6</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>;

            m <font color='#5555FF'>=</font> <font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>3</font>,
                <font color='#979000'>4</font>,<font color='#979000'>5</font>,<font color='#979000'>6</font>;

            m2 <font color='#5555FF'>=</font> <font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>3</font>,<font color='#979000'>4</font>,<font color='#979000'>5</font>,<font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>reshape_to_column_vector</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> m2<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>reshape_to_column_vector</font><font face='Lucida Console'>(</font>m<font color='#5555FF'>+</font>m<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> m2<font color='#5555FF'>+</font>m2<font face='Lucida Console'>)</font>;

        <b>}</b>
        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>,<font color='#979000'>2</font>,<font color='#979000'>3</font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>m</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>m2</font><font face='Lucida Console'>(</font><font color='#979000'>6</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>;

            m <font color='#5555FF'>=</font> <font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>3</font>,
                <font color='#979000'>4</font>,<font color='#979000'>5</font>,<font color='#979000'>6</font>;

            m2 <font color='#5555FF'>=</font> <font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>3</font>,<font color='#979000'>4</font>,<font color='#979000'>5</font>,<font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>reshape_to_column_vector</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> m2<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>reshape_to_column_vector</font><font face='Lucida Console'>(</font>m<font color='#5555FF'>+</font>m<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> m2<font color='#5555FF'>+</font>m2<font face='Lucida Console'>)</font>;

        <b>}</b>
    <b>}</b>


    <font color='#0000FF'><u>void</u></font> <b><a name='matrix_test'></a>matrix_test</b> <font face='Lucida Console'>(</font>
    <font face='Lucida Console'>)</font>
    <font color='#009900'>/*!
        ensures
            - runs tests on the matrix stuff compliance with the specs
    !*/</font>
    <b>{</b>        
        <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;


        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>long</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>m1</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>m2</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font>;

            m1 <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>,
            <font color='#979000'>3</font>, <font color='#979000'>4</font>;

            m2 <font color='#5555FF'>=</font> <font color='#979000'>4</font>, <font color='#979000'>5</font>,
            <font color='#979000'>6</font>, <font color='#979000'>7</font>;


            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tensor_product</font><font face='Lucida Console'>(</font>m1,m2<font face='Lucida Console'>)</font>,<font color='#BB00BB'>range</font><font face='Lucida Console'>(</font><font color='#979000'>0</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>range</font><font face='Lucida Console'>(</font><font color='#979000'>0</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#979000'>1</font><font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tensor_product</font><font face='Lucida Console'>(</font>m1,m2<font face='Lucida Console'>)</font>,<font color='#BB00BB'>range</font><font face='Lucida Console'>(</font><font color='#979000'>0</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>range</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#979000'>2</font><font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tensor_product</font><font face='Lucida Console'>(</font>m1,m2<font face='Lucida Console'>)</font>,<font color='#BB00BB'>range</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>range</font><font face='Lucida Console'>(</font><font color='#979000'>0</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#979000'>3</font><font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>subm</font><font face='Lucida Console'>(</font><font color='#BB00BB'>tensor_product</font><font face='Lucida Console'>(</font>m1,m2<font face='Lucida Console'>)</font>,<font color='#BB00BB'>range</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>range</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#979000'>4</font><font color='#5555FF'>*</font>m2<font face='Lucida Console'>)</font>;
        <b>}</b>

        <b>{</b>
            <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>testing blas stuff</font>";
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'> \nsmall double</font>";
            test_blas<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'> \nsmall float</font>";
            test_blas<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>float</u></font><font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'> \nbig double</font>";
            test_blas<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#979000'>120</font>,<font color='#979000'>131</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'> \nbig float</font>";
            test_blas<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>float</u></font><font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font><font color='#979000'>120</font>,<font color='#979000'>131</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
            dlog <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> LTRACE <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>testing done</font>";
        <b>}</b>


        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>long</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>m</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>ml</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>mu</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>;
            m <font color='#5555FF'>=</font> <font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>3</font>,<font color='#979000'>4</font>,
                <font color='#979000'>4</font>,<font color='#979000'>5</font>,<font color='#979000'>6</font>,<font color='#979000'>7</font>,
                <font color='#979000'>7</font>,<font color='#979000'>8</font>,<font color='#979000'>9</font>,<font color='#979000'>0</font>;

            ml <font color='#5555FF'>=</font> <font color='#979000'>1</font>,<font color='#979000'>0</font>,<font color='#979000'>0</font>,<font color='#979000'>0</font>,
                 <font color='#979000'>4</font>,<font color='#979000'>5</font>,<font color='#979000'>0</font>,<font color='#979000'>0</font>,
                 <font color='#979000'>7</font>,<font color='#979000'>8</font>,<font color='#979000'>9</font>,<font color='#979000'>0</font>;

            mu <font color='#5555FF'>=</font> <font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>3</font>,<font color='#979000'>4</font>,
                 <font color='#979000'>0</font>,<font color='#979000'>5</font>,<font color='#979000'>6</font>,<font color='#979000'>7</font>,
                 <font color='#979000'>0</font>,<font color='#979000'>0</font>,<font color='#979000'>9</font>,<font color='#979000'>0</font>;


            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>lowerm</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> ml<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>upperm</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> mu<font face='Lucida Console'>)</font>;

            ml <font color='#5555FF'>=</font> <font color='#979000'>3</font>,<font color='#979000'>0</font>,<font color='#979000'>0</font>,<font color='#979000'>0</font>,
                 <font color='#979000'>4</font>,<font color='#979000'>3</font>,<font color='#979000'>0</font>,<font color='#979000'>0</font>,
                 <font color='#979000'>7</font>,<font color='#979000'>8</font>,<font color='#979000'>3</font>,<font color='#979000'>0</font>;

            mu <font color='#5555FF'>=</font> <font color='#979000'>4</font>,<font color='#979000'>2</font>,<font color='#979000'>3</font>,<font color='#979000'>4</font>,
                 <font color='#979000'>0</font>,<font color='#979000'>4</font>,<font color='#979000'>6</font>,<font color='#979000'>7</font>,
                 <font color='#979000'>0</font>,<font color='#979000'>0</font>,<font color='#979000'>4</font>,<font color='#979000'>0</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>lowerm</font><font face='Lucida Console'>(</font>m,<font color='#979000'>3</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> ml<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>upperm</font><font face='Lucida Console'>(</font>m,<font color='#979000'>4</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> mu<font face='Lucida Console'>)</font>;

        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>long</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>m</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>row</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>col</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>;
            m <font color='#5555FF'>=</font> <font color='#979000'>1</font>,<font color='#979000'>2</font>,<font color='#979000'>3</font>,<font color='#979000'>4</font>,
                <font color='#979000'>4</font>,<font color='#979000'>5</font>,<font color='#979000'>6</font>,<font color='#979000'>7</font>,
                <font color='#979000'>7</font>,<font color='#979000'>8</font>,<font color='#979000'>9</font>,<font color='#979000'>0</font>;

            row <font color='#5555FF'>=</font> <font color='#979000'>4</font>,<font color='#979000'>5</font>,<font color='#979000'>6</font>;
            col <font color='#5555FF'>=</font> <font color='#979000'>3</font>,<font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>m, <font color='#979000'>1</font>, <font color='#979000'>3</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> row<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>m, <font color='#979000'>2</font>, <font color='#979000'>2</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> col<font face='Lucida Console'>)</font>;

        <b>}</b>


        <b>{</b>
            std::vector<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>v</font><font face='Lucida Console'>(</font><font color='#979000'>34</font>, <font color='#979000'>8</font><font face='Lucida Console'>)</font>;
            std::vector<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>v2</font><font face='Lucida Console'>(</font><font color='#979000'>34</font>, <font color='#979000'>9</font><font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>mat</font><font face='Lucida Console'>(</font><font color='#5555FF'>&amp;</font>v[<font color='#979000'>0</font>], v.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>mat</font><font face='Lucida Console'>(</font>v<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>mat</font><font face='Lucida Console'>(</font><font color='#5555FF'>&amp;</font>v2[<font color='#979000'>0</font>], v.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>!</font><font color='#5555FF'>=</font> <font color='#BB00BB'>mat</font><font face='Lucida Console'>(</font>v<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <b>}</b>

        <b>{</b>
            std::vector<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>long</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>v</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>, <font color='#979000'>3</font><font face='Lucida Console'>)</font>;
            std::vector<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>long</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>v2</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>, <font color='#979000'>2</font><font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>mat</font><font face='Lucida Console'>(</font><font color='#5555FF'>&amp;</font>v[<font color='#979000'>0</font>], v.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>mat</font><font face='Lucida Console'>(</font>v<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>mat</font><font face='Lucida Console'>(</font><font color='#5555FF'>&amp;</font>v2[<font color='#979000'>0</font>], v.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>!</font><font color='#5555FF'>=</font> <font color='#BB00BB'>mat</font><font face='Lucida Console'>(</font>v<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>a</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>;
            a <font color='#5555FF'>=</font> <font color='#979000'>1</font>,   <font color='#979000'>2.5</font>, <font color='#979000'>1</font>,
                <font color='#979000'>3</font>,   <font color='#979000'>4</font>,   <font color='#979000'>5</font>,
                <font color='#979000'>0.5</font>, <font color='#979000'>2.2</font>, <font color='#979000'>3</font>;

            b <font color='#5555FF'>=</font> <font color='#979000'>0</font>, <font color='#979000'>1</font>, <font color='#979000'>0</font>,
                <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>,
                <font color='#979000'>0</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>&gt;</font><font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font><font color='#979000'>1</font><font color='#5555FF'>&lt;</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;

            b <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>,
                <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>,
                <font color='#979000'>0</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>&gt;</font><font color='#5555FF'>=</font><font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font><font color='#979000'>1</font><font color='#5555FF'>&lt;</font><font color='#5555FF'>=</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;

            b <font color='#5555FF'>=</font> <font color='#979000'>0</font>, <font color='#979000'>0</font>, <font color='#979000'>0</font>,
                <font color='#979000'>0</font>, <font color='#979000'>0</font>, <font color='#979000'>0</font>,
                <font color='#979000'>0</font>, <font color='#979000'>1</font>, <font color='#979000'>0</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>=</font><font color='#5555FF'>=</font><font color='#979000'>2.2</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>!</font><font color='#5555FF'>=</font><font color='#979000'>2.2</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font face='Lucida Console'>(</font>b<font color='#5555FF'>=</font><font color='#5555FF'>=</font><font color='#979000'>0</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font><font color='#979000'>2.2</font><font color='#5555FF'>=</font><font color='#5555FF'>=</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font><font color='#979000'>2.2</font><font color='#5555FF'>!</font><font color='#5555FF'>=</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font face='Lucida Console'>(</font><font color='#979000'>0</font><font color='#5555FF'>=</font><font color='#5555FF'>=</font>b<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            b <font color='#5555FF'>=</font> <font color='#979000'>0</font>, <font color='#979000'>0</font>, <font color='#979000'>0</font>,
                <font color='#979000'>0</font>, <font color='#979000'>0</font>, <font color='#979000'>0</font>,
                <font color='#979000'>1</font>, <font color='#979000'>0</font>, <font color='#979000'>0</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>&lt;</font><font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font><font color='#979000'>1</font><font color='#5555FF'>&gt;</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;

            b <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>0</font>, <font color='#979000'>1</font>,
                <font color='#979000'>0</font>, <font color='#979000'>0</font>, <font color='#979000'>0</font>,
                <font color='#979000'>1</font>, <font color='#979000'>0</font>, <font color='#979000'>0</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font>a<font color='#5555FF'>&lt;</font><font color='#5555FF'>=</font><font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font face='Lucida Console'>(</font><font color='#979000'>1</font><font color='#5555FF'>&gt;</font><font color='#5555FF'>=</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font> a, b, c;
            a <font color='#5555FF'>=</font> <font color='#BB00BB'>randm</font><font face='Lucida Console'>(</font><font color='#979000'>4</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font>;

            b <font color='#5555FF'>+</font><font color='#5555FF'>=</font> a;
            c <font color='#5555FF'>-</font><font color='#5555FF'>=</font> a;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font>a, b<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font><font color='#5555FF'>-</font>a, c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            b <font color='#5555FF'>+</font><font color='#5555FF'>=</font> a;
            c <font color='#5555FF'>-</font><font color='#5555FF'>=</font> a;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font><font color='#979000'>2</font><font color='#5555FF'>*</font>a, b<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font><font color='#5555FF'>-</font><font color='#979000'>2</font><font color='#5555FF'>*</font>a, c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            b <font color='#5555FF'>+</font><font color='#5555FF'>=</font> a <font color='#5555FF'>+</font> a;
            c <font color='#5555FF'>-</font><font color='#5555FF'>=</font> a <font color='#5555FF'>+</font> a;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font><font color='#979000'>4</font><font color='#5555FF'>*</font>a, b<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font><font color='#5555FF'>-</font><font color='#979000'>4</font><font color='#5555FF'>*</font>a, c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            b.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>0</font>,<font color='#979000'>0</font><font face='Lucida Console'>)</font>;
            c.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>0</font>,<font color='#979000'>0</font><font face='Lucida Console'>)</font>;


            b <font color='#5555FF'>+</font><font color='#5555FF'>=</font> a <font color='#5555FF'>+</font> a;
            c <font color='#5555FF'>-</font><font color='#5555FF'>=</font> a <font color='#5555FF'>+</font> a;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font><font color='#979000'>2</font><font color='#5555FF'>*</font>a, b<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font><font color='#5555FF'>-</font><font color='#979000'>2</font><font color='#5555FF'>*</font>a, c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> a, b, c;

            a.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>, <font color='#979000'>3</font><font face='Lucida Console'>)</font>;
            b.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>, <font color='#979000'>6</font><font face='Lucida Console'>)</font>;
            c.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>4</font>, <font color='#979000'>3</font><font face='Lucida Console'>)</font>;

            a <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            b <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>, <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>, <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            c <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>,
                <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_rows</font><font face='Lucida Console'>(</font>a,a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_rows</font><font face='Lucida Console'>(</font>a,<font color='#BB00BB'>abs</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_cols</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>b<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_cols</font><font face='Lucida Console'>(</font>a,a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> c<font face='Lucida Console'>)</font>
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_cols</font><font face='Lucida Console'>(</font>a,<font color='#BB00BB'>abs</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> c<font face='Lucida Console'>)</font>
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_rows</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font>,<font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>
        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>, <font color='#979000'>2</font>, <font color='#979000'>3</font><font color='#5555FF'>&gt;</font> a;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>, <font color='#979000'>2</font>, <font color='#979000'>6</font><font color='#5555FF'>&gt;</font> b;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>, <font color='#979000'>4</font>, <font color='#979000'>3</font><font color='#5555FF'>&gt;</font> c;

            a <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            b <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>, <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>, <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            c <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>,
                <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_rows</font><font face='Lucida Console'>(</font>a,a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_rows</font><font face='Lucida Console'>(</font>a,<font color='#BB00BB'>abs</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_cols</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>b<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_cols</font><font face='Lucida Console'>(</font>a,a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> c<font face='Lucida Console'>)</font>
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_cols</font><font face='Lucida Console'>(</font>a,<font color='#BB00BB'>abs</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> c<font face='Lucida Console'>)</font>
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_rows</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font>,<font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>
        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>, <font color='#979000'>2</font>, <font color='#979000'>3</font><font color='#5555FF'>&gt;</font> a;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> a2;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>, <font color='#979000'>2</font>, <font color='#979000'>6</font><font color='#5555FF'>&gt;</font> b;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>, <font color='#979000'>4</font>, <font color='#979000'>3</font><font color='#5555FF'>&gt;</font> c;

            a <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            a2 <font color='#5555FF'>=</font> a;

            b <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>, <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>, <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            c <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>,
                <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_rows</font><font face='Lucida Console'>(</font>a,a2<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_rows</font><font face='Lucida Console'>(</font>a2,a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_cols</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a2<font face='Lucida Console'>)</font>, <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>b<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_cols</font><font face='Lucida Console'>(</font>a2,a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> c<font face='Lucida Console'>)</font>
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_cols</font><font face='Lucida Console'>(</font>a,a2<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> c<font face='Lucida Console'>)</font>
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>join_rows</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a2<font face='Lucida Console'>)</font>,<font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>c<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>
        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> a, b;

            a.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>;

            a <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            b.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font>;
            b <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>,
                <font color='#979000'>3</font>, <font color='#979000'>4</font>,
                <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>reshape</font><font face='Lucida Console'>(</font>a, <font color='#979000'>3</font>, <font color='#979000'>2</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;

            b.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>;
            b <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>4</font>, <font color='#979000'>2</font>,
                <font color='#979000'>5</font>, <font color='#979000'>3</font>, <font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>reshape</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;

        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>,<font color='#979000'>2</font>,<font color='#979000'>3</font><font color='#5555FF'>&gt;</font> a;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> b;

            a <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            b.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>2</font><font face='Lucida Console'>)</font>;
            b <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>,
                <font color='#979000'>3</font>, <font color='#979000'>4</font>,
                <font color='#979000'>5</font>, <font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>reshape</font><font face='Lucida Console'>(</font>a, <font color='#979000'>3</font>, <font color='#979000'>2</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;

            b.<font color='#BB00BB'>set_size</font><font face='Lucida Console'>(</font><font color='#979000'>2</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>;
            b <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>4</font>, <font color='#979000'>2</font>,
                <font color='#979000'>5</font>, <font color='#979000'>3</font>, <font color='#979000'>6</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>reshape</font><font face='Lucida Console'>(</font><font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;

        <b>}</b>

        <b>{</b>
            std::vector<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>v</font><font face='Lucida Console'>(</font><font color='#979000'>6</font><font face='Lucida Console'>)</font>;
            <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>unsigned</u></font> <font color='#0000FF'><u>long</u></font> i <font color='#5555FF'>=</font> <font color='#979000'>0</font>; i <font color='#5555FF'>&lt;</font> v.<font color='#BB00BB'>size</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>i<font face='Lucida Console'>)</font>
                v[i] <font color='#5555FF'>=</font> i;

            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>,<font color='#979000'>2</font>,<font color='#979000'>3</font><font color='#5555FF'>&gt;</font> a;
            a <font color='#5555FF'>=</font> <font color='#979000'>0</font>, <font color='#979000'>1</font>, <font color='#979000'>2</font>, 
                <font color='#979000'>3</font>, <font color='#979000'>4</font>, <font color='#979000'>5</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>mat</font><font face='Lucida Console'>(</font><font color='#5555FF'>&amp;</font>v[<font color='#979000'>0</font>], <font color='#979000'>2</font>, <font color='#979000'>3</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> a<font face='Lucida Console'>)</font>;
        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>a</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>;

            a <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>, <font color='#979000'>6</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>, <font color='#979000'>9</font>,
                <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>3</font>;

            <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font><font color='#979000'>0</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>0</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font><font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font><font color='#979000'>2</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>0</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>0</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>2</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>3</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>3</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>sum_cols</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>sum_rows</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> c<font face='Lucida Console'>)</font>;

        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>m</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>3</font><font face='Lucida Console'>)</font>;

            m <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>,
                <font color='#979000'>7</font>, <font color='#979000'>8</font>, <font color='#979000'>9</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>make_symmetric</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>make_symmetric</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>lowerm</font><font face='Lucida Console'>(</font><font color='#BB00BB'>make_symmetric</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>lowerm</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>upperm</font><font face='Lucida Console'>(</font><font color='#BB00BB'>make_symmetric</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> <font color='#BB00BB'>trans</font><font face='Lucida Console'>(</font><font color='#BB00BB'>lowerm</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font>,<font color='#979000'>3</font>,<font color='#979000'>4</font><font color='#5555FF'>&gt;</font> a;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>1</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>1</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>;

            a <font color='#5555FF'>=</font> <font color='#979000'>1</font>, <font color='#979000'>2</font>, <font color='#979000'>3</font>, <font color='#979000'>6</font>,
                <font color='#979000'>4</font>, <font color='#979000'>5</font>, <font color='#979000'>6</font>, <font color='#979000'>9</font>,
                <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>3</font>;

            <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font><font color='#979000'>0</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>0</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font><font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>b</font><font face='Lucida Console'>(</font><font color='#979000'>2</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>rowm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>0</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>0</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>1</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>1</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>2</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>2</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>c</font><font face='Lucida Console'>(</font><font color='#979000'>3</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font> <font color='#BB00BB'>sum</font><font face='Lucida Console'>(</font><font color='#BB00BB'>colm</font><font face='Lucida Console'>(</font>a,<font color='#979000'>3</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>sum_cols</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> b<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>sum_rows</font><font face='Lucida Console'>(</font>a<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> c<font face='Lucida Console'>)</font>;

        <b>}</b>

        <b>{</b>
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>int</u></font><font color='#5555FF'>&gt;</font> <font color='#BB00BB'>m</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>, <font color='#BB00BB'>s</font><font face='Lucida Console'>(</font><font color='#979000'>3</font>,<font color='#979000'>4</font><font face='Lucida Console'>)</font>;
            m <font color='#5555FF'>=</font> <font color='#5555FF'>-</font><font color='#979000'>2</font>, <font color='#979000'>1</font>, <font color='#979000'>5</font>, <font color='#5555FF'>-</font><font color='#979000'>5</font>,
                <font color='#979000'>5</font>, <font color='#979000'>5</font>, <font color='#979000'>5</font>, <font color='#979000'>5</font>,
                <font color='#979000'>9</font>, <font color='#979000'>0</font>, <font color='#5555FF'>-</font><font color='#979000'>4</font>, <font color='#5555FF'>-</font><font color='#979000'>2</font>;

            s <font color='#5555FF'>=</font> <font color='#5555FF'>-</font><font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#5555FF'>-</font><font color='#979000'>1</font>,
                 <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#979000'>1</font>, 
                 <font color='#979000'>1</font>, <font color='#979000'>1</font>, <font color='#5555FF'>-</font><font color='#979000'>1</font>, <font color='#5555FF'>-</font><font color='#979000'>1</font>;

            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>sign</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> s<font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#BB00BB'>sign</font><font face='Lucida Console'>(</font>matrix_cast<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>m<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font> <font color='#5555FF'>=</font><font color='#5555FF'>=</font> matrix_cast<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font><font face='Lucida Console'>(</font>s<font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <b>}</b>

    <b>}</b>


    <font color='#0000FF'><u>void</u></font> <b><a name='test_matrix_IO'></a>test_matrix_IO</b><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>
    <b>{</b>
        dlib::rand rnd;
        <font color='#BB00BB'>print_spinner</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;

        <font color='#0000FF'>for</font> <font face='Lucida Console'>(</font><font color='#0000FF'><u>int</u></font> i <font color='#5555FF'>=</font> <font color='#979000'>0</font>; i <font color='#5555FF'>&lt;</font> <font color='#979000'>400</font>; <font color='#5555FF'>+</font><font color='#5555FF'>+</font>i<font face='Lucida Console'>)</font>
        <b>{</b>
            ostringstream sout;
            sout.<font color='#BB00BB'>precision</font><font face='Lucida Console'>(</font><font color='#979000'>20</font><font face='Lucida Console'>)</font>;

            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font> m1, m2, m3;

            <font color='#0000FF'>const</font> <font color='#0000FF'><u>long</u></font> r <font color='#5555FF'>=</font> rnd.<font color='#BB00BB'>get_random_32bit_number</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font color='#5555FF'>%</font><font color='#979000'>7</font><font color='#5555FF'>+</font><font color='#979000'>1</font>;
            <font color='#0000FF'>const</font> <font color='#0000FF'><u>long</u></font> c <font color='#5555FF'>=</font> rnd.<font color='#BB00BB'>get_random_32bit_number</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font color='#5555FF'>%</font><font color='#979000'>7</font><font color='#5555FF'>+</font><font color='#979000'>1</font>;
            <font color='#0000FF'>const</font> <font color='#0000FF'><u>long</u></font> num <font color='#5555FF'>=</font> rnd.<font color='#BB00BB'>get_random_32bit_number</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font color='#5555FF'>%</font><font color='#979000'>2</font><font color='#5555FF'>+</font><font color='#979000'>1</font>;

            m1 <font color='#5555FF'>=</font> <font color='#BB00BB'>randm</font><font face='Lucida Console'>(</font>r,c,rnd<font face='Lucida Console'>)</font>;
            sout <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> m1;
            <font color='#0000FF'>if</font> <font face='Lucida Console'>(</font>num <font color='#5555FF'>!</font><font color='#5555FF'>=</font> <font color='#979000'>1</font><font face='Lucida Console'>)</font>
                sout <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>\n</font>" <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> m1;

            <font color='#0000FF'>if</font> <font face='Lucida Console'>(</font>rnd.<font color='#BB00BB'>get_random_double</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font> <font color='#5555FF'>&lt;</font> <font color='#979000'>0.3</font><font face='Lucida Console'>)</font>
                sout <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>   \n</font>";
            <font color='#0000FF'>else</font> <font color='#0000FF'>if</font> <font face='Lucida Console'>(</font>rnd.<font color='#BB00BB'>get_random_double</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font> <font color='#5555FF'>&lt;</font> <font color='#979000'>0.3</font><font face='Lucida Console'>)</font>
                sout <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>   \n\n 3 3 3 3</font>";
            <font color='#0000FF'>else</font> <font color='#0000FF'>if</font> <font face='Lucida Console'>(</font>rnd.<font color='#BB00BB'>get_random_double</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font> <font color='#5555FF'>&lt;</font> <font color='#979000'>0.3</font><font face='Lucida Console'>)</font>
                sout <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>   \n \n  v 3 3 3 3 3</font>";

            istringstream <font color='#BB00BB'>sin</font><font face='Lucida Console'>(</font>sout.<font color='#BB00BB'>str</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            sin <font color='#5555FF'>&gt;</font><font color='#5555FF'>&gt;</font> m2;
            <font color='#BB00BB'>DLIB_TEST_MSG</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font>m1,m2<font face='Lucida Console'>)</font>,  m1 <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>\n***********\n</font>" <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> m2<font face='Lucida Console'>)</font>;

            <font color='#0000FF'>if</font> <font face='Lucida Console'>(</font>num <font color='#5555FF'>!</font><font color='#5555FF'>=</font> <font color='#979000'>1</font><font face='Lucida Console'>)</font>
            <b>{</b>
                sin <font color='#5555FF'>&gt;</font><font color='#5555FF'>&gt;</font> m3;
                <font color='#BB00BB'>DLIB_TEST_MSG</font><font face='Lucida Console'>(</font><font color='#BB00BB'>equal</font><font face='Lucida Console'>(</font>m1,m3<font face='Lucida Console'>)</font>,  m1 <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> "<font color='#CC0000'>\n***********\n</font>" <font color='#5555FF'>&lt;</font><font color='#5555FF'>&lt;</font> m3<font face='Lucida Console'>)</font>;
            <b>}</b>
        <b>}</b>


        <b>{</b>
            istringstream <font color='#BB00BB'>sin</font><font face='Lucida Console'>(</font>"<font color='#CC0000'> 1 2\n3</font>"<font face='Lucida Console'>)</font>;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font> m;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font>sin.<font color='#BB00BB'>good</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            sin <font color='#5555FF'>&gt;</font><font color='#5555FF'>&gt;</font> m;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#5555FF'>!</font>sin.<font color='#BB00BB'>good</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <b>}</b>
        <b>{</b>
            istringstream <font color='#BB00BB'>sin</font><font face='Lucida Console'>(</font>"<font color='#CC0000'></font>"<font face='Lucida Console'>)</font>;
            matrix<font color='#5555FF'>&lt;</font><font color='#0000FF'><u>double</u></font><font color='#5555FF'>&gt;</font> m;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font>sin.<font color='#BB00BB'>good</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
            sin <font color='#5555FF'>&gt;</font><font color='#5555FF'>&gt;</font> m;
            <font color='#BB00BB'>DLIB_TEST</font><font face='Lucida Console'>(</font><font color='#5555FF'>!</font>sin.<font color='#BB00BB'>good</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font><font face='Lucida Console'>)</font>;
        <b>}</b>
    <b>}</b>




    <font color='#0000FF'>class</font> <b><a name='matrix_tester'></a>matrix_tester</b> : <font color='#0000FF'>public</font> tester
    <b>{</b>
    <font color='#0000FF'>public</font>:
        <b><a name='matrix_tester'></a>matrix_tester</b> <font face='Lucida Console'>(</font>
        <font face='Lucida Console'>)</font> :
            tester <font face='Lucida Console'>(</font>"<font color='#CC0000'>test_matrix3</font>",
                    "<font color='#CC0000'>Runs tests on the matrix component.</font>"<font face='Lucida Console'>)</font>
        <b>{</b><b>}</b>

        <font color='#0000FF'><u>void</u></font> <b><a name='perform_test'></a>perform_test</b> <font face='Lucida Console'>(</font>
        <font face='Lucida Console'>)</font>
        <b>{</b>
            <font color='#BB00BB'>test_matrix_IO</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
            <font color='#BB00BB'>matrix_test</font><font face='Lucida Console'>(</font><font face='Lucida Console'>)</font>;
        <b>}</b>
    <b>}</b> a;

<b>}</b>



</pre></body></html>